﻿/**************************************
* Copyright by Spring Studio(http://springstudio.cn)
* 页面表格列表控制
***************************************/

/**
* 点击[全选]标签
*/
function SelectAll(labelId, checkboxName, tableId) {
    var objLabel = document.getElementById(labelId);
    var listCheckBox = document.getElementsByName(checkboxName);

    if (objLabel.title == "false") {
        SwapLabel(labelId, "true");

        if (listCheckBox != null && listCheckBox.length != undefined) {
            for (var i = 0; i < listCheckBox.length; i++) {
                listCheckBox[i].checked = true;
            }
        }
    }
    else {
        SwapLabel(labelId, "false");

        if (listCheckBox != null && listCheckBox.length != undefined) {
            for (var i = 0; i < listCheckBox.length; i++) {
                listCheckBox[i].checked = false;
            }
        }
    }

    SwapRecordClass(checkboxName, tableId);
}

/**
* 点击某个复选框时判断并取消全选
*/
function CancelAll(labelId, checkboxName, tableId) {
    if (IsAllChecked(checkboxName)) {
        SwapLabel(labelId, "true");
    }
    else {
        SwapLabel(labelId, "false");
    }

    SwapRecordClass(checkboxName, tableId);
}

/**
* 切换全选标签样式
*/
function SwapLabel(labelId, check) {
    var objLabel = document.getElementById(labelId);
    if (objLabel != null && objLabel.title != check) {
        if (check == "true") {
            objLabel.style.backgroundColor = "#000099";
            objLabel.style.color = "#FFFFFF";
            objLabel.title = "true";
        }
        else {
            objLabel.style.backgroundColor = "";
            objLabel.style.color = "";
            objLabel.title = "false"
        }
    }
}

/**
* 切换选中记录行样式
*/
function SwapRecordClass(checkboxName, tableId) {
    var listCheckBox = document.getElementsByName(checkboxName);
    var objTable = document.getElementById(tableId);

    if (listCheckBox != null && listCheckBox.length != undefined) {
        for (i = 0; i < listCheckBox.length; i++) {
            if (listCheckBox[i].checked == true) {
                objTable.rows[i + 1].style.backgroundColor = "#ECECFF";
            }
            else {
                objTable.rows[i + 1].style.backgroundColor = "";
            }
        }
    }
}

/**
* 判断是否有选择项
*/
function IsHaveChecked(checkboxName) {
    var listCheckBox = document.getElementsByName(checkboxName);

    if (listCheckBox != null && listCheckBox.length != undefined) {
        var i = 0;
        for (i = 0; i < listCheckBox.length; i++) {
            if (listCheckBox[i].checked == true) return true;
        }
    }

    return false;
}

/**
* 判断是否只有一条记录被选中
*/
function OnlyOne(checkboxName) {
    var count = 0;
    var listCheckBox = document.getElementsByName(checkboxName);

    if (listCheckBox != null && listCheckBox.length != undefined) {
        var i = 0;
        for (i = 0; i < listCheckBox.length; i++) {
            if (listCheckBox[i].checked == true) count++;
        }
    }

    if (count == 1)
        return true;
    else
        return false;
}

/**
* 判断是否全选
*/
function IsAllChecked(checkboxName) {
    var listCheckBox = document.getElementsByName(checkboxName);

    if (listCheckBox != null && listCheckBox.length != undefined) {
        var i = 0;
        for (i = 0; i < listCheckBox.length; i++) {
            if (listCheckBox[i].checked == false) return false;
        }
    }

    return true;
}

/**
* 只有一条记录被选中时，得到选中项复选框的值
*/
function GetCheckedValue(checkboxName) {
    var listCheckBox = document.getElementsByName(checkboxName);
    if (listCheckBox != null && listCheckBox.length != undefined) {
        var i = 0;
        for (i = 0; i < listCheckBox.length; i++) {
            if (listCheckBox[i].checked == true)
                return listCheckBox[i].value;
        }
    }
}

/**
* 点击修改按钮前判断是否只有一条记录被选中
*/
function BeforeModify(checkboxName) {
    if (!OnlyOne(checkboxName)) {
        alert("请选择一条记录！");
        return false;
    }

    return true;
}

/**
* 点击删除按钮前判断是否有被选中的记录
*/
function BeforeDelete(checkboxName) {
    if (!IsHaveChecked(checkboxName)) {
        alert("未选择任何项目！");
        return false;
    }

    return window.confirm("是否确认要删除？");
}